// 保存问卷结果
import { getCompressor } from './compressor.js';
import { request } from '@/util/request.js';

/**
 * 保存问卷结果
 * @param {Object} options - 保存选项
 * @param {string} options.type - 问卷类型 (screening, assessment, healthtest)
 * @param {Object} options.result - 问卷结果
 * @param {Object} options.details - 问卷详情
 * @param {Array} [options.tags] - 问卷标签（可选）
 * @param {Function} [options.success] - 成功回调
 * @param {Function} [options.fail] - 失败回调
 */
export const saveResults = async (options) => {
    const { type, result, details, tags, success, fail } = options;

    try {
        // 仅使用外部传入的 tags（保持统一职责）
        const finalTags = Array.isArray(tags) ? tags : [];

        // 构建发送给后端的数据结构
        const payload = {
            type,
            result: {
                result: result,
                details: details
            },
            tags: finalTags
        };

        const res = await request({
            url: "/survey/update/",
            method: "POST",
            data: payload,
        });
        success && success(res);
        return res;
    } catch (e) {
        fail && fail(e);
        throw e;
    }
}
